package com.lg.startertemplate.domain.cascade.one2one;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.lg.startertemplate.domain.cascade.one2one.IdCard;
import lombok.Data;

import javax.persistence.*;
import java.io.Serializable;

/**
 * one2one: 一个人只能有一个身份证
 */
@Data
@Entity
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"})
public class People implements Serializable {
    private static final long serialVersionUID = -1829151089345132106L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long peopleId;
    private String name;


    //谁主导应该写在谁那边, 如果两边是同以等级的,应该两边都写
    //级联关系 什么操作主从表是否相互影像 详细信息google
    @OneToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY)
    // name ="idCard" 是在这张表中 这个字段的id
    // 不写会自动生成外键  推荐使用不写
    @JoinColumn(name ="cardId" ,referencedColumnName = "cardId")
    private IdCard idCard;




}
